package com.winsdom.vo.uniformCharge;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.winsdom.vo.CustomerBillingHeaderQueryVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

@Data
@Api(tags = "开始收费")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class StartChargeVO {
    //账单明细列表
    @ApiModelProperty(value = "账单明细列表")
    private List<BillingVO> billingVOList;

    //发票类型 TODO 如果开票类型为纸质收据时，不需选择发票抬头,但需要开票
    @ApiModelProperty(value = "发票类型:1-增值税电子普通发票,2-增值税专用发票,3-电子发票(增值税普票),4-电子发票(增值税专发票),5-纸质收据")
    private Integer invoiceType;

    //客户发票抬头list
    @ApiModelProperty(value = "客户发票抬头list")
    private List<CustomerBillingHeaderQueryVO> customerBillingHeaderQueryVOList;

    //收款人
    @ApiModelProperty(value = "收款人")
    private String payee;

    //收款日期 格式为YY-MM-HH
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "收款日期")
    private LocalDate payDate;

    //待支付总金额
    @ApiModelProperty(value = "待支付总金额")
    private BigDecimal totalAmount;
}
